16f9185562fc0fefdfe905f6a582b8bc3ae7dd1c,src/com/redhat/ceylon/compiler/java/codegen/ExpressionTransformer.java,ExpressionTransformer,transformComprehension,#Comprehension#,1679

Before Change


                ListBuffer<JCStatement> innerBody = new ListBuffer<JCStatement>();
                if (idx>0) {
                    innerBody.add(make().If(make().Binary(JCTree.EQ,
                            make().Apply(null, makeSelect("this", prevItemVar), List.<JCExpression>nil()), makeBoolean(true)),
                            make().Block(0, List.<JCStatement>of(
                                make().Exec(make().Assign(makeUnquotedIdent(iterVar),
                                        make().Apply(null, makeSelect("this", iterVar), List.<JCExpression>nil()))),

After Change


                    fields.add(make().VarDef(make().Modifiers(2), names().fromString(iterVar), iterTypeExpr, null));
                    JCBlock body = make().Block(0l, List.<JCStatement>of(
                            make().If(make().Binary(JCTree.EQ, makeUnquotedIdent(iterVar), makeNull()),
                                    make().Exec(make().Apply(null, makeSelect("this", ctxtName), List.<JCExpression>nil())),
                                    null),
                            make().Exec(make().Assign(makeUnquotedIdent(iterVar), make().Apply(null,
                                    make().Select(transformExpression(specexpr.getExpression()),